package com.wocai.jrt.admin.user.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.vteba.security.user.Menu;

public class ModuleMenu implements Menu {
	private static final long serialVersionUID = 3766861413059998597L;
	//用户权限，只是用来控制菜单显示，隐式权限，不包含在内
	private List<Authorities> authorityList = new ArrayList<Authorities>();
	
	/**
	 * 菜单的图标class样式
	 */
	private String icon;
	
	/**
     * order by 排序语句
     * 对应数据库表字段 module_menu
     */
    private String orderBy;

    /**
     * 分页开始记录
     * 对应数据库表字段 module_menu
     */
    private Integer start;

    /**
     * 分页大小
     * 对应数据库表字段 module_menu
     */
    private int pageSize = 10;

    /**
     * 是否去重
     * 对应数据库表字段 module_menu
     */
    private boolean distinct;

    /**
     * 对应数据库表字段 module_menu.module_id
     */
    private String moduleId;

    /**
     * 对应数据库表字段 module_menu.module_name
     */
    private String moduleName;

    /**
     * 对应数据库表字段 module_menu.create_time
     */
    private Date createTime;

    /**
     * 对应数据库表字段 module_menu.enabled
     */
    private Integer enabled;

    /**
     * 对应数据库表字段 module_menu.orders
     */
    private Integer orders;
    
    /**
     * 对应数据库表字段 module_menu.org_id
     */
    private String orgId;

    /**
     * 设置 order by 排序语句
     */
    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    /**
     * 获得 order by 排序语句
     */
    public String getOrderBy() {
        return orderBy;
    }

    /**
     * 设置 start，分页开始记录
     */
    public void setStart(Integer start) {
        this.start = start;
    }

    /**
     * 获得 start，分页开始记录
     */
    public Integer getStart() {
        return start;
    }

    /**
     * 设置 pageSize，分页大小
     */
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    /**
     * 获得 pageSize，分页大小
     */
    public int getPageSize() {
        return pageSize;
    }

    /**
     * 设置 distinct，是否去重
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * 获得 distinct，是否去重
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * 获得字段 module_menu.module_id 的值
     *
     * @return the value of module_menu.module_id
     */
    public String getModuleId() {
        return moduleId;
    }

    /**
     * 设置字段 module_menu.module_id 的值
     *
     * @param moduleId the value for module_menu.module_id
     */
    public void setModuleId(String moduleId) {
        this.moduleId = moduleId;
    }

    /**
     * 获得字段 module_menu.module_name 的值
     *
     * @return the value of module_menu.module_name
     */
    public String getModuleName() {
        return moduleName;
    }

    /**
     * 设置字段 module_menu.module_name 的值
     *
     * @param moduleName the value for module_menu.module_name
     */
    public void setModuleName(String moduleName) {
        this.moduleName = moduleName;
    }

    /**
     * 获得字段 module_menu.create_time 的值
     *
     * @return the value of module_menu.create_time
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置字段 module_menu.create_time 的值
     *
     * @param createTime the value for module_menu.create_time
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获得字段 module_menu.enabled 的值
     *
     * @return the value of module_menu.enabled
     */
    public Integer getEnabled() {
        return enabled;
    }

    /**
     * 设置字段 module_menu.enabled 的值
     *
     * @param enabled the value for module_menu.enabled
     */
    public void setEnabled(Integer enabled) {
        this.enabled = enabled;
    }

    /**
     * 获得字段 module_menu.orders 的值
     *
     * @return the value of module_menu.orders
     */
    public Integer getOrders() {
        return orders;
    }

    /**
     * 设置字段 module_menu.orders 的值
     *
     * @param orders the value for module_menu.orders
     */
    public void setOrders(Integer orders) {
        this.orders = orders;
    }

	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	public List<Authorities> getAuthorityList() {
		return authorityList;
	}

	public void setAuthorityList(List<Authorities> authorityList) {
		this.authorityList = authorityList;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	@Override
	public String getName() {
		return moduleName;
	}

	@Override
	public String getTenantId() {
		return orgId;
	}
}